﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Data;
using DevExpress.Utils;
using DevExpress.XtraEditors;
using DevExpress.XtraEditors.Controls;
using DevExpress.XtraGrid.Views.Grid;
using QuanLyKho.DKChung;

namespace QuanLyKho.QuanLyKho
{
    public partial class Kho_Themchuyenkho : Form
    {
        public static string ID_ChuyenKho = "0";
        private static string curID_VatTu = "0";
        private static string curID_XKCT = "0";

        public Kho_Themchuyenkho()
        {
            InitializeComponent();
            SetForm();
            if (ID_ChuyenKho != "0")
                LoadFormUpdate();
            else
                LoadFormInsert();
        }

        private void SetForm()
        {
            gvChiTiet.OptionsView.ShowGroupPanel = false;
            gvChiTiet.OptionsView.NewItemRowPosition = NewItemRowPosition.None;
            gvChiTiet.OptionsView.ShowFooter = true;
            for (int i = 0; i < 5; i++)
            {
                gvChiTiet.Columns[i].OptionsColumn.AllowSort = DefaultBoolean.False;
            }

            luMaDangAnh.Properties.DataSource = DataAll.SelectAll("Kho_VatTu", "MaVatTu", "");
            luMaDangAnh.Properties.Columns.Add(new LookUpColumnInfo("MaVatTu"));
            luMaDangAnh.Properties.DisplayMember = "MaVatTu";
            luMaDangAnh.Properties.ValueMember = "MaVatTu";
            luMaDangAnh.Properties.NullText = "--- Chọn mã ảnh ---";
            luMaDangAnh.Properties.TextEditStyle = TextEditStyles.DisableTextEditor;
            luMaDangAnh.Properties.ShowHeader = false;

            luPhongChuyen.Properties.DataSource = DataAll.SelectAll("Kho_KhoHang", "IDKhoHang,MaKho,TenKho", "");
            luPhongChuyen.Properties.Columns.Add(new LookUpColumnInfo("IDKhoHang"));
            luPhongChuyen.Properties.Columns.Add(new LookUpColumnInfo("MaKho"));
            luPhongChuyen.Properties.Columns.Add(new LookUpColumnInfo("TenKho"));
            luPhongChuyen.Properties.DisplayMember = "TenKho";
            luPhongChuyen.Properties.ValueMember = "IDKhoHang";
            luPhongChuyen.Properties.NullText = "--- Chọn kho chuyển ---";
            luPhongChuyen.Properties.TextEditStyle = TextEditStyles.DisableTextEditor;
            luPhongChuyen.Properties.Columns["IDKhoHang"].Visible = false;
            luPhongChuyen.Properties.ShowHeader = false;

            DataTable dt = DataAll.SelectAll("Kho_KhoHang", "IDKhoHang,MaKho,TenKho", "");
            dt.Rows.Add("0", "KHOTONG", "Trả về kho tổng");
            luPhongNhan.Properties.DataSource = dt;
            luPhongNhan.Properties.Columns.Add(new LookUpColumnInfo("IDKhoHang"));
            luPhongNhan.Properties.Columns.Add(new LookUpColumnInfo("MaKho"));
            luPhongNhan.Properties.Columns.Add(new LookUpColumnInfo("TenKho"));
            luPhongNhan.Properties.DisplayMember = "TenKho";
            luPhongNhan.Properties.ValueMember = "IDKhoHang";
            luPhongNhan.Properties.NullText = "--- Chọn kho nhận ---";
            luPhongNhan.Properties.TextEditStyle = TextEditStyles.DisableTextEditor;
            luPhongNhan.Properties.Columns["IDKhoHang"].Visible = false;
            luPhongNhan.Properties.ShowHeader = false;

            luNguoiNhan.Properties.DataSource = DataAll.SelectAll("DkChung_NhanVien", "MaNhanVien,TenNhanVien", "");
            luNguoiNhan.Properties.Columns.Add(new LookUpColumnInfo("MaNhanVien"));
            luNguoiNhan.Properties.Columns.Add(new LookUpColumnInfo("TenNhanVien"));
            luNguoiNhan.Properties.DisplayMember = "TenNhanVien";
            luNguoiNhan.Properties.ValueMember = "MaNhanVien";
            luNguoiNhan.Properties.NullText = "--- Chọn người nhận ---";
            luNguoiNhan.Properties.TextEditStyle = TextEditStyles.DisableTextEditor;
            luNguoiNhan.Properties.ShowHeader = false;

            luMaVatTu.Properties.DataSource = DataAll.SelectAll("Kho_VatTu", "IDVatTu,MaVatTu,TenVatTu,DonVi,KhoVai", "");
            luMaVatTu.Properties.Columns.Add(new LookUpColumnInfo("MaVatTu"));
            luMaVatTu.Properties.Columns.Add(new LookUpColumnInfo("IDVatTu"));
            luMaVatTu.Properties.Columns.Add(new LookUpColumnInfo("TenVatTu"));
            luMaVatTu.Properties.Columns.Add(new LookUpColumnInfo("DonVi"));
            luMaVatTu.Properties.Columns.Add(new LookUpColumnInfo("KhoVai"));
            luMaVatTu.Properties.DisplayMember = "MaVatTu";
            luMaVatTu.Properties.ValueMember = "IDVatTu";
            luMaVatTu.Properties.NullText = "--- Chọn vật tư ---";
            luMaVatTu.Properties.TextEditStyle = TextEditStyles.DisableTextEditor;
            luMaVatTu.Properties.ShowHeader = false;
            luMaVatTu.Properties.Columns["IDVatTu"].Visible = false;
            luMaVatTu.Properties.Columns["DonVi"].Visible = false;
            luMaVatTu.Properties.Columns["KhoVai"].Visible = false;

            gcSoLuong.DisplayFormat.FormatType = FormatType.Numeric;
            gcSoLuong.DisplayFormat.FormatString = "{0:0,0.00}";

            gcXoa.Width = 10;
            gcID.Visible = false;


        }

        private void LoadFormUpdate()
        {
            if (ID_ChuyenKho != "0")
            {
                DataTable dtXK = DataAll.SelectAll("ChuyenKho_VatTu", "*", "Where ID = " + ID_ChuyenKho);
                dtNgayXuat.Value = Convert.ToDateTime(dtXK.Rows[0]["NgayChuyen"]);
                luPhongChuyen.EditValue = dtXK.Rows[0]["PhongChuyen"];
                luPhongNhan.EditValue = dtXK.Rows[0]["PhongNhan"];
                luNguoiNhan.EditValue = dtXK.Rows[0]["NguoiNhan"];
                txtGhiChu.Text = dtXK.Rows[0]["GhiChu"].ToString();
                dtNgayHachToan.Value = Convert.ToDateTime(dtXK.Rows[0]["NgayHoachToan"]);
                dtNgayChungTu.Value = Convert.ToDateTime(dtXK.Rows[0]["NgayChungTu"]);
                txtChungtu.Text = dtXK.Rows[0]["SoChungTu"].ToString();
                txtNguoiChuyen.Text = dtXK.Rows[0]["NguoiChuyen"].ToString();

                DataTable dtCkct = DataAll.SelectAll("ChuyenKho_VatTu_ChiTiet inner join Kho_VatTu on ChuyenKho_VatTu_ChiTiet.IDVatTu=Kho_VatTu.IDVatTu",
                    "ChuyenKho_VatTu_ChiTiet.SoLuong,ChuyenKho_VatTu_ChiTiet.GhiChu,Kho_VatTu.IDVatTu as 'Mã vật tư',Kho_VatTu.TenVatTu,Kho_VatTu.DonVi,Kho_VatTu.KhoVai", "Where ID_ChuyenKho = " + ID_ChuyenKho);
                //dtCkct.Rows.Add();
                gridChiTiet.DataSource = null;
                gridChiTiet.DataSource = dtCkct;
                //gvChiTiet.FocusedRowHandle = dtCkct.Rows.Count;
                luPhongChuyen.Enabled = false;
                luPhongNhan.Enabled = false;
                gvChiTiet.OptionsBehavior.Editable = false;
                gcXoa.Visible = false;
                gcMaVatTu.OptionsColumn.AllowFocus = false;
                gcSoLuong.OptionsColumn.AllowFocus = false;
                gcGhiChu.OptionsColumn.AllowFocus = false;

                if (dtXK.Rows[0]["TrangThai"].ToString() == Convert.ToInt32(TrangThaiKho.ChuyenKho_ChoDuyet).ToString() || dtXK.Rows[0]["TrangThai"].ToString() == Convert.ToInt32(TrangThaiKho.ChuyenKho_DaDuyet).ToString())
                {
                    luPhongChuyen.Enabled = luPhongNhan.Enabled = dtNgayXuat.Enabled = dtNgayChungTu.Enabled = dtNgayHachToan.Enabled = luNguoiNhan.Enabled = txtGhiChu.Enabled = bntLuLai.Visible = false;
                }
            }
        }

        private void LoadFormInsert()
        {
            var dataColumns = new DataTable();
            dataColumns.Columns.Add("ID");
            dataColumns.Columns.Add("Mã vật tư");
            dataColumns.Columns.Add("TenVatTu");
            dataColumns.Columns.Add("DonVi");
            dataColumns.Columns.Add("SoLuong", typeof(double));
            dataColumns.Columns.Add("KhoVai");
            dataColumns.Columns.Add("GhiChu");

            pbAnh.Image = null;
            for (int i = 0; i < 1; i++)
            {
                dataColumns.Rows.Add("");
            }
            gridChiTiet.DataSource = null;
            gridChiTiet.DataSource = dataColumns;
            txtChungtu.Text = "CK" + DateTime.Now.Day + DateTime.Now.Month + DateTime.Now.Year
               + DateTime.Now.Hour + DateTime.Now.Minute + DateTime.Now.Second;
            txtNguoiChuyen.Text = Main.UserID;
        }

        private void bntLuLai_Click(object sender, EventArgs e)
        {
            if (!ValidateForm())
                return;
            if (ID_ChuyenKho != "0")
            {
                if (gvChiTiet.RowCount > 1)
                {
                    string message = string.Empty;
                    message = DataAll.Update("ChuyenKho_VatTu", "NgayChuyen =N'" + dtNgayXuat.Value.ToString("MM/dd/yyyy") + "',NguoiChuyen=N'" + Main.UserID + "',NguoiNhan=N'" + luNguoiNhan.EditValue
                        + "',NgayChungTu=N'" + dtNgayChungTu.Value + "',NgayHoachToan=N'" + dtNgayHachToan.Value + "',GhiChu=N'"
                        + txtGhiChu.Text + "' WHERE ID =" + ID_ChuyenKho);
                    //if (message == "success")
                    //{
                    //    var dataview = (DataView)gvChiTiet.DataSource;
                    //    for (int i = 0; i < gvChiTiet.RowCount - 1; i++)
                    //    {
                    //        var id_vattu = gcMaVatTu.View.GetRowCellValue(i, "Mã vật tư").ToString();
                    //        if (string.IsNullOrEmpty(gvChiTiet.GetRowCellValue(i, "ID").ToString())) //trường hợp thêm mới dòng vật tư trên lưới
                    //        {
                    //            message = DataAll.InsertAll("ChuyenKho_VatTu_ChiTiet", ID_ChuyenKho
                    //             + "," + id_vattu
                    //             + "," + gcSoLuong.View.GetRowCellValue(i, "SoLuong")
                    //             + "," + dtNgayXuat.Value.ToString("MM/dd/yyyy")
                    //             + "," + gcGhiChu.View.GetRowCellValue(i, "GhiChu"));

                    //            // cập nhật kho chuyển
                    //            double soLuongKhoChuyen =
                    //              Convert.ToDouble(DataAll.SelectAll("Kho_KhoHang_VatTu", "*", "WHERE IDVatTu=" + id_vattu + "AND IDKhoHang = " + luPhongChuyen.EditValue).Rows[0]["SoLuong"].ToString())
                    //              - Convert.ToDouble(gcSoLuong.View.GetRowCellValue(i, "SoLuong"));
                    //            DataAll.Update("Kho_KhoHang_VatTu", "SoLuong = " + soLuongKhoChuyen + " WHERE IDVatTu=" + id_vattu + "AND IDKhoHang = " + luPhongChuyen.EditValue);

                    //            if (luPhongNhan.EditValue.ToString() == "0")
                    //            {
                    //                // cập nhật kho tổng
                    //                var dtVatTu = DataAll.SelectAll("Kho_VatTu", "*", " WHERE IDVatTu=" + id_vattu);
                    //                var dtKhoAo = DataAll.SelectAll("Kho_VatTuDuKien", "*", " WHERE MaVatTu=N'" + dtVatTu.Rows[0]["MaVatTu"] + "'");
                    //                double soluong = Convert.ToDouble(dtVatTu.Rows[0]["SoLuong"]) + Convert.ToDouble(gcSoLuong.View.GetRowCellValue(i, "SoLuong"));
                    //                double soluongKhoAo = Convert.ToDouble(dtKhoAo.Rows[0]["SoLuong"]) + Convert.ToDouble(gcSoLuong.View.GetRowCellValue(i, "SoLuong"));
                    //                DataAll.Update("Kho_VatTu", "SoLuong = " + soluong + " WHERE IDVatTu=" + id_vattu);
                    //                DataAll.Update("Kho_VatTuDuKien", "SoLuong = " + soluongKhoAo + " WHERE MaVatTu=N'" + dtVatTu.Rows[0]["MaVatTu"] + "'");
                    //            }
                    //            else
                    //            {
                    //                // cập nhật kho nhận
                    //                double soLuongKhoNhan =
                    //                  Convert.ToDouble(DataAll.SelectAll("Kho_KhoHang_VatTu", "*", "WHERE IDVatTu=" + id_vattu + "AND IDKhoHang = " + luPhongNhan.EditValue).Rows[0]["SoLuong"].ToString())
                    //                  + Convert.ToDouble(gcSoLuong.View.GetRowCellValue(i, "SoLuong"));
                    //                DataAll.Update("Kho_KhoHang_VatTu", "SoLuong = " + soLuongKhoNhan + " WHERE IDVatTu=" + id_vattu + "AND IDKhoHang = " + luPhongNhan.EditValue);
                    //            }
                    //        }
                    //        else //trường hợp cập nhật dòng vật tư trên lưới
                    //        {
                    //            DataTable dtXKCT = DataAll.SelectAll("ChuyenKho_VatTu_ChiTiet", "*", "WHERE ID = " + dataview[i]["ID"]);
                    //            // cập nhật kho chuyển
                    //            double soLuongKhoChuyen =
                    //              Convert.ToDouble(DataAll.SelectAll("Kho_KhoHang_VatTu", "*", "WHERE IDVatTu=" + id_vattu + "AND IDKhoHang = " + luPhongChuyen.EditValue).Rows[0]["SoLuong"].ToString())
                    //              + Convert.ToDouble(dtXKCT.Rows[0]["SoLuong"])
                    //              - Convert.ToDouble(gcSoLuong.View.GetRowCellValue(i, "SoLuong"));
                    //            DataAll.Update("Kho_KhoHang_VatTu", "SoLuong = " + soLuongKhoChuyen + " WHERE IDVatTu=" + id_vattu + "AND IDKhoHang = " + luPhongChuyen.EditValue);

                    //            if (luPhongNhan.EditValue.ToString() == "0")
                    //            {
                    //                // cập nhật kho tổng
                    //                DataTable dtVatTu = DataAll.SelectAll("Kho_VatTu", "*", "WHERE IDVatTu = " + id_vattu);
                    //                DataTable dtVatTuDuKien = DataAll.SelectAll("Kho_VatTuDuKien", "*", "WHERE MaVatTu = N'" + dtVatTu.Rows[0]["MaVatTu"] + "'");

                    //                double soLuong = Convert.ToDouble(dtVatTu.Rows[0]["SoLuong"]) - Convert.ToDouble(dtXKCT.Rows[0]["SoLuong"]) + Convert.ToDouble(gcSoLuong.View.GetRowCellValue(i, "SoLuong"));
                    //                double soLuongDuKien = Convert.ToDouble(dtVatTuDuKien.Rows[0]["SoLuong"]) - Convert.ToDouble(dtXKCT.Rows[0]["SoLuong"]) + Convert.ToDouble(gcSoLuong.View.GetRowCellValue(i, "SoLuong"));
                    //                string Kho_VatTu = DataAll.Update("Kho_VatTu", "SoLuong = " + soLuong + " Where IDVatTu = " + id_vattu);
                    //                string Kho_VatTuDuKien = DataAll.Update("Kho_VatTuDuKien", "SoLuong = " + soLuongDuKien + " Where MaVatTu = N'" + dtVatTu.Rows[0]["MaVatTu"] + "'");
                    //            }
                    //            else
                    //            {
                    //                // cập nhật kho nhận
                    //                double soLuongKhoNhan =
                    //                  Convert.ToDouble(DataAll.SelectAll("Kho_KhoHang_VatTu", "*", "WHERE IDVatTu=" + id_vattu + "AND IDKhoHang = " + luPhongNhan.EditValue).Rows[0]["SoLuong"].ToString())
                    //                  - Convert.ToDouble(dtXKCT.Rows[0]["SoLuong"])
                    //                  + Convert.ToDouble(gcSoLuong.View.GetRowCellValue(i, "SoLuong"));
                    //                DataAll.Update("Kho_KhoHang_VatTu", "SoLuong = " + soLuongKhoNhan + " WHERE IDVatTu=" + id_vattu + "AND IDKhoHang = " + luPhongNhan.EditValue);
                    //            }

                    //            message = DataAll.Update("ChuyenKho_VatTu_ChiTiet", "IDVatTu=" + id_vattu
                    //                + ",SoLuong=" + gcSoLuong.View.GetRowCellValue(i, "SoLuong")
                    //                + ",NgayChuyen='" + dtNgayXuat.Value.ToString("MM/dd/yyyy")
                    //                + "',GhiChu=N'" + gcGhiChu.View.GetRowCellValue(i, "Ghi chú") + "' WHERE ID =" + dataview[i]["ID"]);

                    //        }
                    //        if (message != "success")
                    //        {
                    //            break;
                    //        }
                    //    }
                    //}
                    MessageBox.Show(message.Equals("success") ? "Sửa chuyển kho thành công" : message, "Message",
                                    MessageBoxButtons.OK,
                                    message.Equals("success") ? MessageBoxIcon.Information : MessageBoxIcon.Error);
                    Close();
                }
            }
            else
            {
                if (gvChiTiet.RowCount > 1)
                {
                    string message = string.Empty;
                    var data = DataAll.SelectCustomer("INSERT INTO [ChuyenKho_VatTu] VALUES('" + dtNgayXuat.Value.ToString("MM/dd/yyyy") + "',N'"
                        + Main.UserID + "','" + dtNgayChungTu.Value.ToString("MM/dd/yyyy") + "','"
                        + dtNgayHachToan.Value.ToString("MM/dd/yyyy") + "','" + txtChungtu.Text + "','"
                        + txtGhiChu.Text + "'," + luPhongChuyen.EditValue + "," + luPhongNhan.EditValue + ",N'" + luNguoiNhan.EditValue + "'," + Convert.ToInt32(TrangThaiKho.ChuyenKho_TaoMoi) + ",''" + ") SELECT MAX(ID) FROM [ChuyenKho_VatTu]");
                    for (int i = 0; i < gvChiTiet.RowCount - 1; i++)
                    {
                        var id_vattu = gcMaVatTu.View.GetRowCellValue(i, "Mã vật tư").ToString();
                        //var ma_vattu = (DataRowView)luMaVatTu.GetDataSourceRowByKeyValue(gcMaVatTu.View.GetRowCellValue(i, "Mã vật tư").ToString());
                        message = DataAll.InsertAll("ChuyenKho_VatTu_ChiTiet", data.Rows[0][0]
                            + "," + id_vattu
                            + "," + gcSoLuong.View.GetRowCellValue(i, "SoLuong")
                            + "," + dtNgayXuat.Value.ToString("MM/dd/yyyy")
                            + "," + gcGhiChu.View.GetRowCellValue(i, "GhiChu"));
                        if (message != "success")
                        {
                            DataAll.Delete("ChuyenKho_VatTu_ChiTiet", "WHERE ID_ChuyenKho=" + data.Rows[0][0]);
                            break;
                        }
                    }
                    MessageBox.Show(message.Equals("success") ? "Lập lệnh chuyển kho thành công!" : message, "Message",
                                    MessageBoxButtons.OK,
                                    message.Equals("success") ? MessageBoxIcon.Information : MessageBoxIcon.Error);
                    Close();

                }

            }
        }

        private void btnThoat_Click(object sender, EventArgs e)
        {
            Close();
        }

        public void LoadImage()
        {
            var data = DataAll.SelectAll("DkChung_HinhAnh", "*", " WHERE MaAnh='" + luMaDangAnh.EditValue + "'");
            if (data.Rows.Count > 0)
            {
                var content = (byte[])data.Rows[0]["Anh"];
                if (content != null)
                {
                    Image newImage;
                    using (var ms = new MemoryStream(content, 0, content.Length))
                    {
                        ms.Write(content, 0, content.Length);
                        newImage = Image.FromStream(ms, true);
                    }
                    pbAnh.Image = newImage;
                }
                else
                {
                    pbAnh.Image = null;
                }
            }
            else
            {
                MessageBox.Show("Không tìm thấy mã ảnh", "Message", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private void luMaDangAnh_EditValueChanged(object sender, EventArgs e)
        {
            var lucheck = (LookUpEdit)sender;
            if (lucheck.ItemIndex >= 0)
            {
                LoadImage();
            }
        }

        private void pbAnh_Click(object sender, EventArgs e)
        {
            if (luMaDangAnh.EditValue == null)
                return;
            XemAnh.MaID = luMaDangAnh.EditValue.ToString();
            var anh = new XemAnh();
            anh.ShowDialog();
            XemAnh.MaID = "0";
        }

        private void btnDelete_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
        {
            if (gvChiTiet.FocusedRowHandle == gvChiTiet.RowCount - 1)
            {
                return;
            }

            DialogResult dialogResult = MessageBox.Show("Bạn có chắc chắn muốn xóa.", "Message", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

            if (dialogResult == DialogResult.Yes)
            {
                var dataview = (DataView)gvChiTiet.DataSource;
                //if (ID_ChuyenKho != "0")
                //{
                //    if (!string.IsNullOrEmpty(gvChiTiet.GetRowCellValue(gvChiTiet.FocusedRowHandle, "ID").ToString()))
                //    {
                //        DataTable dtNkct = DataAll.SelectAll("ChuyenKho_VatTu_ChiTiet", "*", "WHERE ID = " + dataview[gvChiTiet.FocusedRowHandle]["ID"]);
                //        // cập nhật kho chuyển
                //        double soLuongKhoChuyen =
                //                 Convert.ToDouble(DataAll.SelectAll("Kho_KhoHang_VatTu", "*", "WHERE IDVatTu=" + gcMaVatTu.View.GetRowCellValue(gvChiTiet.FocusedRowHandle, "Mã vật tư") + "AND IDKhoHang = " + luPhongChuyen.EditValue).Rows[0]["SoLuong"].ToString())
                //                 + Convert.ToDouble(dtNkct.Rows[0]["SoLuong"]);
                //        string khoChuyen = DataAll.Update("Kho_KhoHang_VatTu", "SoLuong = " + soLuongKhoChuyen + " WHERE IDVatTu=" + gcMaVatTu.View.GetRowCellValue(gvChiTiet.FocusedRowHandle, "Mã vật tư") + "AND IDKhoHang = " + luPhongChuyen.EditValue);

                //        string khoVatTu = "";
                //        string khoVatTuDuKien = "";
                //        string khoNoiBo = "";
                //        if (luPhongNhan.EditValue.ToString() == "0")
                //        {
                //            // cập nhật kho tổng
                //            DataTable dtVatTu = DataAll.SelectAll("Kho_VatTu", "*", "WHERE IDVatTu = " + gcMaVatTu.View.GetRowCellValue(gvChiTiet.FocusedRowHandle, "Mã vật tư"));
                //            DataTable dtVatTuDuKien = DataAll.SelectAll("Kho_VatTuDuKien", "*", "WHERE MaVatTu = N'" + dtVatTu.Rows[0]["MaVatTu"] + "'");
                //            double soLuong = Convert.ToDouble(dtVatTu.Rows[0]["SoLuong"]) - Convert.ToDouble(dtNkct.Rows[0]["SoLuong"]);
                //            double soLuongDuKien = Convert.ToDouble(dtVatTuDuKien.Rows[0]["SoLuong"]) - Convert.ToDouble(dtNkct.Rows[0]["SoLuong"]);
                //            khoVatTu = DataAll.Update("Kho_VatTu", "SoLuong = " + soLuong + " Where IDVatTu = " + gcMaVatTu.View.GetRowCellValue(gvChiTiet.FocusedRowHandle, "Mã vật tư"));
                //            khoVatTuDuKien = DataAll.Update("Kho_VatTuDuKien", "SoLuong = " + soLuongDuKien + " Where MaVatTu = N'" + dtVatTu.Rows[0]["MaVatTu"] + "'");
                //        }
                //        else
                //        {
                //            // cập nhật kho nhận
                //            double soLuongKhoNhan =
                //                   Convert.ToDouble(DataAll.SelectAll("Kho_KhoHang_VatTu", "*", "WHERE IDVatTu=" + gcMaVatTu.View.GetRowCellValue(gvChiTiet.FocusedRowHandle, "Mã vật tư") + "AND IDKhoHang = " + luPhongNhan.EditValue).Rows[0]["SoLuong"].ToString())
                //                   - Convert.ToDouble(dtNkct.Rows[0]["SoLuong"]);
                //            khoNoiBo = DataAll.Update("Kho_KhoHang_VatTu", "SoLuong = " + soLuongKhoNhan + " WHERE IDVatTu=" + gcMaVatTu.View.GetRowCellValue(gvChiTiet.FocusedRowHandle, "Mã vật tư") + "AND IDKhoHang = " + luPhongNhan.EditValue);
                //        }

                //        if ((khoVatTu.Equals("success") && khoVatTuDuKien.Equals("success") && khoChuyen.Equals("success")|| khoNoiBo.Equals("success") && khoChuyen.Equals("success")))
                //        {
                //            string message = DataAll.Delete("ChuyenKho_VatTu_ChiTiet", " ID = " + dataview[gvChiTiet.FocusedRowHandle]["ID"]);
                //            MessageBox.Show(message.Equals("success") ? "Xóa thành công" : message, "Message",
                //                                MessageBoxButtons.OK,
                //                                message.Equals("success") ? MessageBoxIcon.Information : MessageBoxIcon.Error);
                //        }
                //    }
                //}
                (gridChiTiet.MainView as GridView).DeleteSelectedRows();
                var data = (DataView)gvChiTiet.DataSource;
                // var data2 = data[1][];
            }
        }

        private void gvChiTiet_CellValueChanged(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e)
        {
            if (e.Column.Caption == "Mã vật tư")
            {
                if (e.RowHandle == gvChiTiet.RowCount - 1)
                {
                    (gridChiTiet.MainView as GridView).AddNewRow();
                }
                gvChiTiet.SetRowCellValue(e.RowHandle, gvChiTiet.Columns["SoLuong"], 0);
                var vatTu = (DataRowView)luMaVatTu.Properties.GetDataSourceRowByKeyValue(e.Value);
                gvChiTiet.SetRowCellValue(e.RowHandle, gvChiTiet.Columns["TenVatTu"], vatTu.Row.ItemArray[2].ToString());
                gvChiTiet.SetRowCellValue(e.RowHandle, gvChiTiet.Columns["DonVi"], vatTu.Row.ItemArray[3].ToString());
                gvChiTiet.SetRowCellValue(e.RowHandle, gvChiTiet.Columns["KhoVai"], vatTu.Row.ItemArray[4].ToString());
                // check chọn trùng mã vật tư
                var data = (DataView)gvChiTiet.DataSource;
                if (data.Count > 2)
                {
                    for (int i = 0; i < data.Count - 1; i++)
                    {
                        if (i != e.RowHandle)
                        {
                            string a = gvChiTiet.GetRowCellValue(e.RowHandle, "Mã vật tư").ToString();
                            string b = data[i]["Mã vật tư"].ToString();
                            if (a == b)
                            {
                                MessageBox.Show("Vật tư đã được chọn ở dòng thứ: " + (i + 1).ToString(), "Message", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                //if (ID_ChuyenKho != "0")
                                //{
                                //    if (!string.IsNullOrEmpty(gvChiTiet.GetRowCellValue(gvChiTiet.FocusedRowHandle, "ID").ToString()))
                                //    {
                                //        DataTable dtNkct = DataAll.SelectAll("ChuyenKho_VatTu_ChiTiet", "*", "WHERE ID = " + curID_XKCT);
                                //        // cập nhật kho chuyển
                                //        double soLuongKhoChuyen =
                                //         Convert.ToDouble(DataAll.SelectAll("Kho_KhoHang_VatTu", "*", "WHERE IDVatTu=" + curID_VatTu + "AND IDKhoHang = " + luPhongChuyen.EditValue).Rows[0]["SoLuong"].ToString())
                                //         + Convert.ToDouble(dtNkct.Rows[0]["SoLuong"]);
                                //        string khoChuyen = DataAll.Update("Kho_KhoHang_VatTu", "SoLuong = " + soLuongKhoChuyen + " WHERE IDVatTu=" + curID_VatTu + "AND IDKhoHang = " + luPhongChuyen.EditValue);

                                //        string khoVatTu = "";
                                //        string khoVatTuDuKien = "";
                                //        string khoNoiBo = "";

                                //        if (luPhongNhan.EditValue.ToString() == "0")
                                //        {
                                //            // cập nhật kho tổng
                                //            DataTable dtVatTu = DataAll.SelectAll("Kho_VatTu", "*", "WHERE IDVatTu = " + curID_VatTu);
                                //            DataTable dtVatTuDuKien = DataAll.SelectAll("Kho_VatTuDuKien", "*", "WHERE MaVatTu = N'" + dtVatTu.Rows[0]["MaVatTu"] + "'");
                                //            double soLuong = Convert.ToDouble(dtVatTu.Rows[0]["SoLuong"]) - Convert.ToDouble(dtNkct.Rows[0]["SoLuong"]);
                                //            double soLuongDuKien = Convert.ToDouble(dtVatTuDuKien.Rows[0]["SoLuong"]) - Convert.ToDouble(dtNkct.Rows[0]["SoLuong"]);
                                //            khoVatTu = DataAll.Update("Kho_VatTu", "SoLuong = " + soLuong + " Where IDVatTu = " + curID_VatTu);
                                //            khoVatTuDuKien = DataAll.Update("Kho_VatTuDuKien", "SoLuong = " + soLuongDuKien + " Where MaVatTu = N'" + dtVatTu.Rows[0]["MaVatTu"] + "'");
                                //        }
                                //        else
                                //        {
                                //            // cập nhật kho nhận
                                //            double soLuongKhoNhan =
                                //              Convert.ToDouble(DataAll.SelectAll("Kho_KhoHang_VatTu", "*", "WHERE IDVatTu=" + curID_VatTu + "AND IDKhoHang = " + luPhongNhan.EditValue).Rows[0]["SoLuong"].ToString())
                                //              - Convert.ToDouble(dtNkct.Rows[0]["SoLuong"]);
                                //            khoNoiBo = DataAll.Update("Kho_KhoHang_VatTu", "SoLuong = " + soLuongKhoNhan + " WHERE IDVatTu=" + curID_VatTu + "AND IDKhoHang = " + luPhongNhan.EditValue);
                                //        }

                                //        if ((khoVatTu.Equals("success") && khoVatTuDuKien.Equals("success") && khoChuyen.Equals("success") || khoNoiBo.Equals("success") && khoChuyen.Equals("success")))
                                //        {
                                //            string message = DataAll.Delete("ChuyenKho_VatTu_ChiTiet", " ID = " + curID_XKCT);
                                //        }
                                //    }
                                //}
                                (gridChiTiet.MainView as GridView).DeleteRow(e.RowHandle);
                                break;
                            }
                        }
                    }
                }
            }
        }

        private void gvChiTiet_CellValueChanging(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e)
        {
            //if (ID_ChuyenKho != "0")
            //{
            //    if (e.Column.Caption == "Mã vật tư")
            //    {
            //        curID_VatTu = gvChiTiet.GetRowCellValue(e.RowHandle, "Mã vật tư").ToString();
            //        curID_XKCT = gvChiTiet.GetRowCellValue(e.RowHandle, "ID").ToString();
            //    }
            //}
        }

        private bool ValidateForm()
        {
            bool chk = true;
            if (luNguoiNhan.EditValue == null)
            {
                MessageBox.Show("Vui lòng chọn người nhận !", "Lỗi nhập dữ liệu", MessageBoxButtons.OK, MessageBoxIcon.Error);
                chk = false;
                return chk;
            }
            if (luPhongChuyen.EditValue == null)
            {
                MessageBox.Show("Vui lòng chọn kho chuyển !", "Lỗi nhập dữ liệu", MessageBoxButtons.OK, MessageBoxIcon.Error);
                chk = false;
                return chk;
            }

            if (luPhongNhan.EditValue == null)
            {
                MessageBox.Show("Vui lòng chọn kho nhận !", "Lỗi nhập dữ liệu", MessageBoxButtons.OK, MessageBoxIcon.Error);
                chk = false;
                return chk;
            }

            if (gvChiTiet.RowCount == 1)
            {
                MessageBox.Show("Vui lòng chọn vật tư !", "Lỗi nhập dữ liệu", MessageBoxButtons.OK, MessageBoxIcon.Error);
                chk = false;
                return chk;
            }

            if (luPhongNhan.EditValue.ToString() == luPhongChuyen.EditValue.ToString())
            {
                MessageBox.Show("Kho chuyển và kho nhận không được trùng nhau !", "Lỗi nhập dữ liệu", MessageBoxButtons.OK, MessageBoxIcon.Error);
                chk = false;
                return chk;
            }

            return chk;
        }
    }
}
